Reflection is a technique that provides access to elements of objects within an application module by interpreting textual identifiers (or symbolic names) of those elements at runtime rather than using other access methodologies that are interpreted during compilation or linking of that application module. Application modules that utilize reflection can thus access elements and runtime parameters such as data values associated with those elements based on textual identifiers that are evaluated at runtime of such application modules. In other words, the textual identifiers specified to reflectively access object elements are evaluated dynamically during execution of such applications.
The textual identifiers, however, are typically hard-coded within such applications. In other words, one or more textual identifiers that are used at runtime of the application module to access object elements within that application module are defined within the application module when the application module is developed. Thus, the application module can reflectively access only those object elements associated with the textual identifiers included in the application module when the application module is developed.
Furthermore, a user of such an application module is unable to request access to runtime parameters of the application module other than the runtime parameters associated with the textual identifiers included in the application module when the application module is developed. As a consequence, the users of such application modules are often unable to access the runtime parameters that meet the needs of those users.